home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / COMM / MSDOS-DISK / DOSFS / !DosFS / ReadMe1 < prev    next >
Text File  |  1990-12-19  |  10KB  |  221 lines

  1. | >!DosFS.ReadMe1
  2.  
  3. DOCUMENTATION OF DosFS MODULE
  4. -----------------------------
  5.  
  6. Author         : Rob Schrauwen
  7. Acknowledgement: A few important routines were programmed by
  8.                  Erik Admiraal
  9. Remark         : This documentation applies to versions later than 1.20.
  10.                  Earlier versions did not implement a full filing system.
  11.  
  12.  
  13. PUBLIC DOMAIN STATUS
  14.  
  15. This software is public domain. It may be copied and given away, provided
  16. that the *complete* !DosFS application directory is copied.
  17.  
  18.  
  19. THE DosFS PHILOSOPHY
  20.  
  21. DosFS is a filing system which is able to read and write RSDOS (i.e. MSDOS
  22. and Atari ST-compatible) floppy discs.
  23.  
  24. The DosFS module is a real filing system. It can be used from the desktop as
  25. well as outside the desktop. For example, you can type *. dosfs: to get a
  26. catalogue and *dump dosfs:file to dump a file, etc..
  27.  
  28. DosFS has to interact with RiscOS using RiscOS's rules and conventions. This
  29. gives some discrepancies compared to the use on an MSDOS machine:
  30.  
  31. 1) File names: The RiscOS rules apply. Hence  $  denotes the root directory
  32.    and dots are used to separate directories in a path name. In RiscOS there
  33.    are no extensions. A separator, called the ExtSep fulfils the role of the
  34.    dot which in Dos separates file name and extension. The ExtSep defaults
  35.    to "_", but this can be changed (e.g. if a filename contains "_", you
  36.    might find it useful to change the ExtSep into something else).
  37.    
  38.    Examples:
  39.    \CONFIG.SYS   is called dosfs:$.CONFIG_SYS under DosFS.
  40.    \DIR\FILE.EXT is called dosfs:$.DIR.FILE_EXT under DosFS.
  41.    \AUTOEXEC.BAT is called dosfs:$.AUTOEXEC_BAT, but is also possible
  42.                  to use AUTOEXECBAT.
  43.  
  44.    A problem is that file names may become longer than the 10 characters
  45.    allowed by existing filing systems. Note that on the command line, files
  46.    can be accessed at all times. It is not the task of DosFS to cut file
  47.    names, it should always provide a 1-1 mapping of names under both systems.
  48.    The DosFS-Filer provides several name conversions, see !DosFS.ReadMe2.
  49.    
  50. 2) File types: Dos does not support file types. DosFS gives all files the
  51.    type DosFile (&111) because it cannot know which file type is meant.
  52.    The DosFS philosophy is, that DosFS cannot know the file type, but that
  53.    programs working with DosFS might deduce filetypes e.g. from the file's
  54.    extension. For example, the DosFS-Filer uses this. DosFS itself *must*
  55.    treat all files equally.
  56.  
  57. 3) Disc names: RiscOS uses disc names extensively. DosFS uses the volume
  58.    label as disc name. Some operations will complain if your disc does not
  59.    have a volume label. Note that this name is the only reference that
  60.    DosFS uses, so two discs with the same name will not be distinguished.
  61.    You can access a disc in the usual way:
  62.  
  63.    *. dosfs::volume.$
  64.  
  65.    will give a catalogue of a disc called 'volume'. Since UpCalls are fully
  66.    supported, DosFS will prompt for disc changes if necessary.
  67.  
  68. 4) Access information: Risc-OS and Dos do not have the same possibilities
  69.    for access information. On DosFS you always have read-access. The read-
  70.    only attribute is observed. Hidden files appear as "locked", but other
  71.    files cannot be locked against deletion.
  72.  
  73. 5) Ownership of the floppy drive: ADFS thinks it owns the floppy drive. If
  74.    you by accident try to access a DosFS disc under ADFS you will get the
  75.    "Bad free space map" error. The other way around, you will get the "Unable
  76.    to read disc" error of DosFS after prompting for (a sometimes irrelevant)
  77.    disc. You will hear the drive try three times, which is one of the *many*
  78.    "features" of FileSwitch which the user thinks are strange properties of
  79.    DosFS.
  80.  
  81. The philosophy of DosFS is that it cannot assume anything of a file that
  82. is not supported by Dos. For example, as a filing system, DosFS will never
  83. convert end-of-line characters of a text file: suppose you use an SWI to
  84. determine the file's length, then DosFS won't of course count the carriage
  85. returns in the file and subtract that from the length as stored in the
  86. directory. Other ADFS--Dos transfer utilities, which are only programs, can
  87. do this. Obviously, the DosFS-Filer (see ReadMe2) supports this, too.
  88.  
  89.  
  90. COMMANDS PROVIDED
  91.  
  92. Apart from the commands implemented in order to serve FileSwitch, including
  93. almost all filing system commands (see further below), DosFS implements
  94. the follwing *commands:
  95.  
  96. *BytesFree:  Shows the number of bytes free on an RSDOS disc.
  97. *DosFS    :  Selects DosFS as the current filing system (cf. *ADFS)
  98. *DosMap   :  Shows a list of free clusters on an RSDOS disc.
  99. *DosVolume:  Changes the name (volume label) of an RSDOS disc.
  100. *ExtSep   :  Shows or changes the current extension separator used to
  101.              separate the file name and the extension. Default "_".
  102.  
  103.  
  104. RESTRICTIONS
  105.  
  106. 1) Only 720K floppy discs in drive 0 are supported. Other floppies and drives
  107.    could be supported, but I cannot test this. The hard disc is not supported
  108.    either.
  109.  
  110. 2) Copying from DosFS to adfs::0 (the same drive) won't work unless the P
  111.    (prompt) option is used. This is because adfs will hasten to access the
  112.    disc before you get the chance to remove it.
  113.  
  114. 3) DosFS supports "buffered files" (cf. PRM vol 3), for ease of implemen-
  115.    tation. Unfortunately, FileSwitch does not like to have more than one
  116.    buffer for DosFS, so some operations involving TWO files open on DosFS
  117.    ONLY, take a *very* long time to complete (one on DosFS and one somewhere
  118.    else works fine).
  119.  
  120.  
  121. OPERATIONS SUPPORTED
  122.  
  123. DosFS supports almost ALL sensible FileSwitch operations.
  124. NOT supported are library directories, boot options and "directory
  125. contexts".
  126.  
  127. Note that older versions of DosFS had many more restrictions, resulting
  128. in the dreaded "DosFS does not support this operation" error.
  129.  
  130.  
  131. TECHNICAL DETAILS, WARNINGS & PECULIARITIES
  132.  
  133.  -- A DosFS file name consists of the name, the ExtSep character, and
  134.     the extension. RiscOS's rules always apply, and there is always a
  135.     1-1 mapping of files. Note that from adfs to dosfs there is no problem
  136.     in the length of the file names. This is because DosFS allows the user
  137.     to omit the ExtSep whenever a file has a 8-character part before the
  138.     extension. In the command line you can always use filenames as long as
  139.     you like. In the Filer, renaming of files is possible even if the
  140.     'Not a heap block' message is given (just ignore this). If you want to
  141.     overcome these problems, you can always use the transfer icon provided
  142.     by the desktop. 
  143.  
  144.  -- A DosFS path name follows the rules of RiscOS, so "." is used to
  145.     separate directory names. A disc name, prepended with ":" can be
  146.     included. Wildcarded names also follow the rules of RiscOS. In
  147.     particular, file* matches file1, but also file1_abc (where abc
  148.     is an extension). Of course  file*a_*  does NOT match fileb_ext
  149.     (try this on an MSDOS machine :-))
  150.  
  151.  -- Subdirectories can be of arbitrary length. Note, however, that
  152.     a very large subdirectory may cause a 'No room in RMA' error,
  153.     if claiming more memory to load the subdirectory fails.
  154.     [Very large is in this case 'larger than the root directory'
  155.     (which, allowing for "." and "..", corresponds to 112 files in a
  156.     subdirectory)]. In general, DosFS claims 6.25K memory for workspace,
  157.     FAT and directories.
  158.  
  159.  -- To speed up some operations, it is assumed that the user never
  160.     removes the disc if the light is still on. If someone knows how to
  161.     intercept the DiscChanged-DeviceVector, I would be glad to hear;
  162.     in that case DosFS could implement a really good UpCall.
  163.  
  164.  -- Sometimes in error conditions, DosFS will UpCall to insert a disc
  165.     when you don't want that. Press Cancel, or Escape outside the
  166.     desktop, until you get "Unable to read disc" (DosFS's universal
  167.     error message).
  168.  
  169.  -- There are programs that mistakenly reserve not more than 10 characters
  170.     for a file name. Also the SharedCLibrary does not reserve enough
  171.     characters. This means that if you try to load directly from the
  172.     Dos-disc (without piping through the DosFS-Filer's transfer icon), these
  173.     programs will fail. With DosFS a maximum-length name such as AUTOEXEC_BAT
  174.     has 12 characters, excluding termination character.
  175.  
  176.  -- If you copy an application directory to a Dos disc, then it is possible
  177.     that the Filer shows the correct sprite. Double clicking does not run
  178.     the program, because in reality all files have lost their types.
  179.  
  180. The following comments follow the implementation rules of PRM/3, pages
  181. 973--999.
  182.  
  183.  -- DosFS can have 8 files open. Note that your disc *must* have a volume
  184.     label to enable opening a file. Operations such as *Type, *Dump and
  185.     *Build use this. Also *Copy sometimes makes use of this. If a file is
  186.     opened for output or update, the length of the file will always reflect
  187.     the allocated disc space which is useful in case something goes wrong
  188.     (Dos itself does not always do this).
  189.  
  190.  -- BPut and BGet are supported. FileSwitch unfortunately maintains only
  191.     one buffer for DosFS. This means that if two files are open on DosFS
  192.     FileSwitch will urge DosFS to perform extensive buffer swapping: in
  193.     order to copy  n  bytes  2n  disc operations are performed. In
  194.     a future release, DosFS will provide its own buffer for input files.
  195.     Transferring bytes to or from another filing system works OK.
  196.  
  197.  -- The access attributes are translated as follows: hidden=LR, read only
  198.     =R. Directories are never locked. Changing attributes *only* looks
  199.     for the presence of the "W" attribute in *Access, all the other options
  200.     are ignored. In particular you have always read access.
  201.  
  202.  -- Files are always time stamped and have file type &111 (DosFile).
  203.     Load and execution addresses are not supported.
  204.  
  205.  -- Observe that there is a difference to *dosfs:dir $ and *dir dosfs:$
  206.     (some operations can be prefixed with dosfs:, such as *dosfs:close).
  207.  
  208.  
  209. If you have any comments or remarks, please contact me.
  210.  
  211. Rob Schrauwen
  212. Email: schrauw@math.ruu.nl
  213.  
  214. -----------------------------------------------------------------------------
  215. DISCLAIMER                                                         
  216.  
  217. This module has been thoroughly tested. However, in no circumstances
  218. the author will be liable for any damage or loss of data, etc..
  219. RS
  220.  
  221.